#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"

struct p{
    int val,pos;
};

bool cmp(const p& a,const p& b){
    if(a.val==b.val){
        return a.pos>b.pos;
    }
    return a.val<b.val;
}

void solve(){
    int n;
    cin>>n;
    vector<p> nums(n);
    for(int i=0;i<n;i++){
        cin>>nums[i].val;
        nums[i].pos=i+1;
    }
    sort(nums.begin(),nums.end(),cmp);
    int cnt=0,sum=0,temp=0;
    for(int i=0;i<n;i++){
        if(i==0){
            sum=nums[i].pos;
            cnt+=(sum/nums[i].val);
            sum-=(sum/nums[i].val)*nums[i].val;
            temp=nums[i].pos;
            continue;
        }
        if(nums[i].pos>temp){
            sum+=nums[i].pos-temp;
            cnt+=(sum/nums[i].val);
            sum-=(sum/nums[i].val)*nums[i].val;
            temp=nums[i].pos;
        }
    }
    cout<<cnt;
    return;
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int _=1;
    //cin>>_;
    while(_--){
        solve();
    }
    return 0;
}